This invention relates to methods and apparatus for storing, retrieving and manipulating multimedia data objects persistently stored in a relational database management system and, more particularly, although in its broader aspects not exclusively, to methods and apparatus which facilitate the use of such objects in Web applications.
The Internet is changing the way data is managed. Even in the most traditional companies, systems that were once experiments in electronic commerce are becoming significant contributors to business success. The Web site has increasingly replaced traditional vehicles for disseminating policies, procedures, product information, and support for critical business processes. Almost without notice, homegrown Internet applications have become production systems essential to core functions of the enterprise. As a consequence, simple file-based systems, similar to ones that enterprises discarded 20 years ago in favor of more reliable relation data management systems, are now often central to essential Internet functions.
The Internet has also changed the nature of data itself. Internet applications increasingly contain multimedia content, such as images and audio and video clips. The image, audio, and video content used in Internet applications have become important company assets that are represented in formats like WAVE, AVI, QuickTime, RealAudio, RealVideo, TIFF, GIF, JPEG, etc. typically supported using file-based servers.
When only a small number of people need access to such information, the file-based Web server is a reasonable solution. The information or assets stored in these servers is important, but doesn""t normally require constant availability and, in many cases, only affects a few people. But when, for example, photos are part of an electronic commerce system, thousands of customers and prospects may be affected. When those same images are used in an Extranet for supply chain applications, they must also be tied to price files, inventory systems, and distribution systems. The situation becomes even more complex when the information used in the applications includes many types of multimedia objects as is typical in Internet applications.
Storing multimedia data, including images and audio and video clips, in a relational database management system (RDBMS) offers significant advantages. Relational databases provide the ability to store, manage, manipulate and retrieve data organized in complex logical structures. See, for example, The Handbook of Relational Database Design by C. C. Fleming and B. Vonhalle; Addison-Wesley Pub Co; ISBN 0201114348 (August 1988). Modern relational databases are typically supported by robust procedural languages for manipulating the data as described, for example in Oracle Pl/SQL Programming by Steven Feuerstein, Bill Pribyl and Debby Russell, Editor; O""Reilly and Associates; ISBN 1565923359 (October 1997). For the same reasons that led to the wide adoption of RDBMS systems for traditional forms of business data, there is a need for methods and apparatus which simplify the task of extending the relational database""s reliability, availability and data management capabilities to the multimedia content used in Internet, electronic commerce and media-rich applications.
In a principal aspect, the present invention takes the form of novel interface between Web based programs and a relational database. In accordance with the invention, multimedia objects stored in a relational database are identified by a Universal Resource Locator (URL) taking the form of a character string consisting of (a) an identification of the domain name and port of a host computer connected to the Internet, (b) the identification of a Web agent program which may be dynamically loaded or statically linked into the web server""s or application server""s environment and which operates as an interface to a relational database, (c) the specification of a specific SQL procedure for storing, retrieving or updating a particular data object, and (d) additional parameter information for specifying the row and column location of the object in a database table and any additional information needed by the SQL procedure for manipulating the object.
The principles of the invention are used to advantage in a clipboard application program which facilitates the use of multimedia objects in Web applications. The clipboard program provides a graphical user interface which may be used to easily identify and retrieve a multimedia object stored in the database and automatically place the URL which specifies that object in a Web page by using conventional xe2x80x9ccopy and pastexe2x80x9d and xe2x80x9cdrag-and-dropxe2x80x9d methods. The object""s URL is transferred to another application, such as a Web page authoring tool for composing HTML pages. In addition, the clipboard may be used to capture a multimedia object from a device, such as a digital camera or scanner, or to fetch an object via the Internet, and to then store the new object in a selected row and column location in a selected database table.
The clipboard and Web agent""s ability to generate and decode database URLs allows them to store, update and retrieve multimedia objects in the relational database and to serve as an interface between Internet Web and Java applications, such as Web browsers and Web page authoring tools. Multimedia objects stored in the database may be directly accessed via the Web agent using the URL. Web based HTML input forms may also be used to POST data directly into the relational database by using a URL to identify a previously stored SQL procedure and by passing other parameters as needed to the SQL procedure which performs an insert or update operation.